The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications providers is to use packet switching technology. Increasingly, public and private communications networks are being built and expanded using various packet technologies, such as Internet Protocol (IP). Note, nothing described or referenced in this document is admitted as prior art to this application unless explicitly so stated.
Packet switching devices have evolved from devices where each device represents a single router or bridge, to devices that support multiple “forwarding contexts.” As used herein, forwarding contexts include, but are not limited, to virtual routers, logical routers, and/or virtual private networks. Each forwarding context maintains or is associated with packet forwarding information relevant to itself. For example, two logical routers might be housed in the same physical device, but these different forwarding contexts will maintain separate routing tables and forwarding information based for use in processing and forwarding packets.
Of course, this processing of packets in one forwarding context may determine that certain packets should be communicated to a different forwarding context. In the past, this has meant that the packet should be sent to a different packet switching device. However, today, it is possible that these different forwarding contexts are housed in a same physical packet switch, such as in different logical or virtual routers of a single physical router.
One prior approach used to communicate packets between two forwarding contexts, especially between logical routers (e.g., where each line card only belongs to a single forwarding context), is illustrated in FIG. 1A. Shown is a packet switch 100, which includes three forwarding contexts 101, 102 and 103, with these devices having physical interfaces 111-116. This approach uses physical cables 121-123 to connect different forwarding contexts 101-103, which requires a technician to correctly connect a physical cables for each pair of forwarding contexts.
Another prior approach used to communicate packets between two forwarding contexts, especially between virtual routers, is illustrated in FIG. 1B. Shown is a packet switch 140 which includes three forwarding contexts 141, 142 and 143. These forwarding contexts use interprocess communication 151-156 (e.g., standard IPC or specialized hardware or software) to communicate packets between these forwarding contexts 141-143. This approach requires specialized hardware and software development in order to communicate packets as well as to provide for mechanisms for applying features to these packets. Examples of such features, include, but are not limited to: access control lists (ACLs), quality of service (QoS) (e.g., committed access rate, rate-limiting, shaping, marking, etc.), aggregated/sampled Netflow accounting, unicast reverse-path forwarding (uRPF), policy-based routing, Border Gateway Protocol (BGP) policy accounting, QoS policy propagation via BGP, accounting, statistics, web cache redirect, lawful Interception, IPSec encryption/decryption, intrusion detection and prevention, state-full firewall, network address translation, and network-based application recognition.